summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/formatter/formatter.cpp174
-rw-r--r--noncore/tools/opie-sh/opie-sh.cpp20
-rw-r--r--noncore/tools/remote/learntab.cpp11
-rw-r--r--noncore/tools/remote/remote.cpp10
4 files changed, 138 insertions, 77 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
@@ -1,584 +1,632 @@
/****************************************************************************
** formatter.cpp
**
** Copyright: Thu Apr 11 11:01:13 2002
** by: L. J. Potter
**
****************************************************************************/
#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>
#include <errno.h>
#define BLANK ' '
#define DELIMITER '#'
/*
Blah blah blah blah */
FormatterApp::FormatterApp( QWidget* parent, const char* name, WFlags fl, bool modal )
: QMainWindow( parent, name, fl )
// : QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "FormatterApp" );
connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
setCaption( tr( "Formatter" ) );
FormatterAppLayout = new QGridLayout( this );
FormatterAppLayout->setSpacing( 2);
FormatterAppLayout->setMargin( 2 );
TabWidget = new QTabWidget( this, "TabWidget" );
tab = new QWidget( TabWidget, "tab" );
tabLayout = new QGridLayout( tab );
tabLayout->setSpacing( 3);
tabLayout->setMargin( 2);
storageComboBox = new QComboBox( FALSE, tab, "storageComboBox" );
storageComboBox->setMaximumWidth(220);
tabLayout->addMultiCellWidget( storageComboBox, 0, 0, 0, 1);
TextLabel4 = new QLabel( tab, "TextLabel4" );
TextLabel4->setText( tr( "Storage Type" ) );
tabLayout->addMultiCellWidget( TextLabel4, 1, 1, 0, 1);
TextLabel2 = new QLabel( tab, "TextLabel2" );
TextLabel2->setText( tr( "File Systems" ) );
tabLayout->addMultiCellWidget( TextLabel2, 4, 4, 0, 1);
fileSystemsCombo = new QComboBox( FALSE, tab, "fileSystemsCombo" );
fileSystemsCombo->setMaximumWidth(220);
tabLayout->addMultiCellWidget( fileSystemsCombo, 3, 3, 0, 1);
QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Minimum );
tabLayout->addItem( spacer, 2, 0 );
formatPushButton = new QPushButton( tab, "formatPushButton" );
formatPushButton->setText( tr( "Format" ) );
formatPushButton->setMaximumWidth(170);
tabLayout->addMultiCellWidget( formatPushButton, 6, 6, 0, 1);
QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Minimum );
tabLayout->addItem( spacer_2, 5, 0 );
TabWidget->insertTab( tab, tr( "Main" ) );
tab_2 = new QWidget( TabWidget, "tab_2" );
tabLayout_2 = new QGridLayout( tab_2 );
tabLayout_2->setSpacing(3);
tabLayout_2->setMargin(2);
mountPointLineEdit = new QLineEdit( tab_2, "mountPointLineEdit" );
tabLayout_2->addMultiCellWidget( mountPointLineEdit, 0, 0, 0, 1);
deviceComboBox = new QComboBox( FALSE, tab_2, "deviceComboBox" );
tabLayout_2->addMultiCellWidget( deviceComboBox, 3, 3, 0, 1);
TextLabel5 = new QLabel( tab_2, "TextLabel5" );
TextLabel5->setText( tr( "CAUTION:\n"
"Changing parameters on this\n"
"page may cause your system\n"
"to stop functioning properly!" ) );//idiot message
tabLayout_2->addMultiCellWidget( TextLabel5, 6, 6, 0, 1);
editPushButton = new QPushButton( tab_2, "editPushButton" );
editPushButton->setText( tr( "Edit fstab" ) );
editPushButton->setMaximumWidth(100);
tabLayout_2->addMultiCellWidget( editPushButton, 7, 7, 0, 0 );
fsckButton = new QPushButton( tab_2, "fsckPushButton" );
fsckButton->setText( tr( "Check Disk" ) );
fsckButton->setMaximumWidth(100);
tabLayout_2->addMultiCellWidget( fsckButton, 7, 7, 1, 1);
TextLabel3 = new QLabel( tab_2, "TextLabel3" );
TextLabel3->setText( tr( "Device" ) );
tabLayout_2->addMultiCellWidget( TextLabel3, 4, 4, 0, 1 );
QSpacerItem* spacer_3 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
tabLayout_2->addItem( spacer_3, 5, 0 );
TextLabel1 = new QLabel( tab_2, "TextLabel1" );
TextLabel1->setText( tr( "Mount Point" ) );
tabLayout_2->addMultiCellWidget( TextLabel1, 1, 1, 0, 1 );
QSpacerItem* spacer_4 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
tabLayout_2->addItem( spacer_4, 2, 1 );
TabWidget->insertTab( tab_2, tr( "Advanced" ) );
FormatterAppLayout->addWidget( TabWidget, 0, 1 );
connect( formatPushButton ,SIGNAL(released()),this,SLOT( doFormat()) );
connect( editPushButton ,SIGNAL(released()),this,SLOT( editFstab()) );
connect( fsckButton ,SIGNAL(released()),this,SLOT( doFsck()) );
connect( fileSystemsCombo,SIGNAL(activated(int)),this,SLOT( fsComboSelected(int ) ));
connect( storageComboBox,SIGNAL(activated(int)),this,SLOT( storageComboSelected(int ) ));
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;
QString diskDevice = currentText.right( currentText.length() - currentText.find(" -> ",0,TRUE) - 4);
QString diskName = currentText.left(currentText.find(" -> ",0,TRUE));
QString fs = fileSystemsCombo->currentText();
#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) // lets test on something cheap
#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";
}
switch ( QMessageBox::warning(this,tr("Format?")
, 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);
}
}
}
pclose(fp);
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);
}
}
outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted."));
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);
}
}
pclose(fp);
sleep(1);
outDlg->OutputEdit->append(tr("You can now close the output window."));
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
// outDlg->close();
// if(outDlg)
// 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");
fileSystemsCombo->insertStringList( fsList,-1);
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;
long total = (*it)->totalBlocks() * mult / div;
long totalMb = total/1024;
long avail = (*it)->availBlocks() * mult / div;
long availMb = avail/1024;
long used = total - avail;
long usedMb = used/1024;
totalS.sprintf(tr("Total: %1 kB ( %d mB)\n").arg( total ), totalMb );
usedS.sprintf(tr("Used: %1 kB ( %d mB)\n").arg(used) ,usedMb);
avS.sprintf( tr("Available: %1 kB ( %d mB)").arg(avail), availMb );
}
}
fsType = getFileSystemType((const QString &)selectedText);
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;
qDebug(deviceName+"::"+filesystemType);
fileSystemTypeList << deviceName+"::"+filesystemType;
}
}
}
endmntent( mntfp );
// } else if(fileName == "/etc/fstab") {
// QFile f("/etc/fstab");
// if ( f.open(IO_ReadOnly) ) {
// QTextStream t (&f);
// QString s;
// while (! t.eof()) {
// s=t.readLine();
// s=s.simplifyWhiteSpace();
// if ( (!s.isEmpty() ) && (s.find(" ")!=0) ) {
// // = me->mnt_fsname;
// QString filesystemType = me->mnt_type;
// QString deviceName = s.left(0,s.find(BLANK) );
// s=s.remove(0,s.find(BLANK)+1 ); // devicename
// s=s.remove(0,s.find(BLANK)+1 ); // mountpoint
// QStringt mountPoint= s.left(0,s.find(BLANK) );
// s=s.remove(0,s.find(BLANK)+1 ); // fs
// QString filesystemType= s.left(0,s.find(BLANK) );
// }
// }
// }
// 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();
QString umountS = "umount -v "+mountPoint+" 2>&1";
QString remountS = "mount -v "+mountPoint+" 2>&1";
// #else
// // for testing
// // currentText = diskDevice = "/dev/fd0";
// QString umountS = "umount -v /floppy 2>&1";
// QString remountS = "mount -v /floppy 2>&1";
// selectedDevice ="/dev/fd0";
// #endif
QString fsType = getFileSystemType((const QString &)selectedDevice);
QString cmd;
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);
}
}
outDlg->OutputEdit->append(tr("You can now close the output window."));
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
// outDlg->OutputEdit->append( currentText + tr("\nhas been successfully formatted."));
// outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
pclose(fp);
/////////////////////////////////////////
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;
}
diff --git a/noncore/tools/opie-sh/opie-sh.cpp b/noncore/tools/opie-sh/opie-sh.cpp
index a353d3f..7d54a03 100644
--- a/noncore/tools/opie-sh/opie-sh.cpp
+++ b/noncore/tools/opie-sh/opie-sh.cpp
@@ -1,284 +1,290 @@
/*
Opie-sh. convinience app to allow you to use qdialogs in scripts (mainly shell scripts)
Copyright (C) 2002 Thomas Stephens
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
+#include "mbox.h"
+#include "fviewer.h"
+#include "inputdialog.h"
+
+/* OPIE */
+#include <qpe/qpeapplication.h>
+
+/* QT */
#include <qstring.h>
#include <qstringlist.h>
-#include <qpe/qpeapplication.h>
#include <qmessagebox.h>
#include <qwidget.h>
+/* STD */
#include <stdio.h>
-#include "mbox.h"
-#include "fviewer.h"
-#include "inputdialog.h"
int myMessageBox(int wi, int h, QWidget *w, int argc, QStringList args)
{
int i, type=0;
QString button0Text, button1Text, button2Text, string, title;
bool full=true;
for(i=0; i<argc; i++)
{
if(args[i] == "-t")
{
title = args[i+1];
}
if(args[i] == "-M")
{
string = args[i+1];
}
if(args[i] == "-0")
{
button0Text = args[i+1];
}
if(args[i] == "-1")
{
button1Text = args[i+1];
}
if(args[i] == "-2")
{
button2Text = args[i+1];
}
if(args[i] == "-I")
{
type=0;
}
if(args[i] == "-w")
{
type = 1;
}
if(args[i] == "-e")
{
type = 2;
}
if(args[i] == "-g")
{
full = false;
}
}
MBox *mbox = new MBox(wi, h, (int)type, title, string, &button0Text, &button1Text, &button2Text, w, (QString)"messagebox");
if(full)
{
w->setCaption(title);
- w->showMaximized();
+ QPEApplication::showWidget( w );
}
// mbox->show();
switch(mbox->exec() )
{
case 0:
return -1;
case 1:
return -1;
case 2:
return 0;
case 3:
return 1;
case 4:
return 2;
default: return -1;
}
}
void printusage()
{
printf("Usage instructions for Opie-sh\n");
printf("Usage: opie-sh [dialog type] [type specific options]\n");
printf("Types:\n");
printf(" -m Message Box\n");
printf(" -f [filename] View file [Default = stdin]\n");
printf(" -i Input dialog\n");
printf(" -h --help These instructions\n");
printf(" -t [title] The window/dialog title\n");
printf("Message box options:\n");
printf(" -M [message] The message to display\n");
printf(" -I Use information icon\n");
printf(" -w Use the warning icon\n");
printf(" -e Use the error icon\n");
printf(" -0 [text] First button text [Default = OK]\n");
printf(" -1 [text] Second button text\n");
printf(" -2 [text] Third button text\n");
printf(" -g Disable fullscreen\n");
printf("Input Dialog options:\n");
printf(" -s A single line of input (output to console)\n");
printf(" -l List input (newline separated list read in from file)\n");
printf(" -b A list box, enabling multiple selections (input same as -l)\n");
printf(" -p Password input (display '*'s)\n");
printf(" -L [label] The label for the input field\n");
printf(" -F [filename] An input file (for when it makes sense) [Default = stdin]\n");
printf(" -E Makes list input editable\n");
printf(" -g Disable fullscreen\n");
}
int fileviewer(QPEApplication *a, int argc, QStringList args)
{
int i;
QString filename, title, icon;
bool update=false;
for(i=0; i < argc; i++)
{
if(args[i] == "-f")
{
if(args[i+1][0] != '-')
{
filename = args[i+1];
}
}
if(args[i] == "-I")
{
icon=args[i+1];
}
if(args[i] == "-t")
{
title = args[i+1];
}
}
FViewer *fview = new FViewer(icon, filename, title, 0, (QString) "fileviewer");
a->setMainWidget(fview);
- fview->showMaximized();
+ QPEApplication::showWidget( fview );
return a->exec();
}
int input(int wi, int h, QWidget *w, int argc, QStringList args)
{
int i, type = 0;
QString title, label, filename;
bool edit=false, full=true;
for(i=0; i < argc; i++)
{
if(args[i] == "-s")
{
type = 0;
}
if(args[i] == "-l")
{
type = 1;
}
if(args[i] == "-b")
{
type = 2;
}
if(args[i] == "-p")
{
type = 3;
}
if(args[i] == "-t")
{
title = args[i+1];
}
if(args[i] == "-L")
{
label = args[i+1];
}
if(args[i] == "-F")
{
if(args[i+1][0] != '-')
{
filename = args[i+1];
}
}
if(args[i] =="-E")
{
edit = true;
}
if(args[i] == "-g")
{
full = false;
}
}
InputDialog *id = new InputDialog(wi, h, type, label, title, filename, edit, w);
if(full)
{
w->setCaption(title);
- w->showMaximized();
+ QPEApplication::showWidget( w );
}
if( id->exec() == 1)
{
printf("%s\n", id->getString().latin1());
return 0;
}
else
{
return -1;
}
}
int main(int argc, char **argv)
{
int i;
QStringList args;
QPEApplication a(argc, argv);
QWidget w;
a.setMainWidget(&w);
QWidget *d = a.desktop();
int width=d->width();
int height=d->height();
for(i=0; i < argc; i++)
{
args += argv[i];
}
for(i=0; i < argc; i++)
{
if(args[i] == "-m")
{
return myMessageBox(width, height, &w, argc, args);
}
if(args[i] == "-f")
{
return fileviewer(&a, argc, args);
}
if(args[i] == "-i")
{
return input(width, height, &w, argc, args);
}
if(args[i] == "-h" || args[i] =="--help")
{
printusage();
return -1;
}
}
printusage();
return -1;
}
diff --git a/noncore/tools/remote/learntab.cpp b/noncore/tools/remote/learntab.cpp
index 7582161..335a3e9 100644
--- a/noncore/tools/remote/learntab.cpp
+++ b/noncore/tools/remote/learntab.cpp
@@ -1,191 +1,192 @@
/*
Opie-Remote. emulates remote controlls on an iPaq (and maybe a Zaurus) in Opie.
Copyright (C) 2002 Thomas Stephens
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "learntab.h"
+/* OPIE */
+#include <qpe/qpeapplication.h>
+
LearnTab::LearnTab(QWidget *parent, const char *name):QWidget(parent,name)
{
QVBoxLayout *layout = new QVBoxLayout(this);
QHBoxLayout *bottomLayout = new QHBoxLayout(this);
layout->insertSpacing(0,5);
remotesBox = new QListBox(this, "remotesBox");
layout->insertWidget(0, remotesBox, 1);
remotesBox->insertStringList(getRemotes());
layout->insertSpacing(-1,5);
layout->insertLayout(-1, bottomLayout);
layout->insertSpacing(-1,5);
QPushButton *add = new QPushButton("Add", this, "add");
bottomLayout->insertSpacing(-1, 5);
bottomLayout->insertWidget(-1, add);
bottomLayout->insertSpacing(-1, 5);
QPushButton *edit = new QPushButton("Edit", this, "edit");
bottomLayout->insertWidget(-1, edit);
bottomLayout->insertSpacing(-1, 5);
QPushButton *del = new QPushButton("Delete", this, "delete");
bottomLayout->insertWidget(-1, del);
bottomLayout->insertSpacing(-1, 5);
connect(add, SIGNAL(clicked()), this, SLOT(add()) );
connect(edit, SIGNAL(clicked()), this, SLOT(edit()) );
connect(del, SIGNAL(clicked()), this, SLOT(del()) );
}
void LearnTab::add()
{
printf("LearnTab::add: add pressed\n");
RecordDialog *dialog = new RecordDialog(this);
- dialog->showMaximized();
+ QPEApplication::showDialog( dialog );
}
void LearnTab::edit()
-{
-}
+{}
void LearnTab::del()
-{
-}
+{}
QStringList LearnTab::getRemotes()
{
const char write_buffer[] = "LIST\n";
const char *readbuffer;
int i, numlines;
QStringList list;
addr.sun_family=AF_UNIX;
strcpy(addr.sun_path,"/dev/lircd");
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if(fd == -1)
{
QMessageBox *mb = new QMessageBox("Error!",
"couldnt connect to socket",
QMessageBox::NoIcon,
QMessageBox::Ok,
QMessageBox::NoButton,
QMessageBox::NoButton);
mb->exec();
perror("LearnTab::GetRemotes");
return NULL;
}
if(::connect(fd,(struct sockaddr *) &addr, sizeof(addr) ) == -1)
{
QMessageBox *mb = new QMessageBox("Error!",
"couldnt connect to socket",
QMessageBox::NoIcon,
QMessageBox::Ok,
QMessageBox::NoButton,
QMessageBox::NoButton);
mb->exec();
perror("LearnTab::GetRemotes");
return NULL;
}
write(fd, write_buffer, strlen(write_buffer));
for(i=0; i<5; i++)
{
printf("%d\n", i);
readbuffer = readPacket();
printf("%s", readbuffer);
printf("%d\n", i);
}
numlines = atoi(readbuffer);
for(i=0; i<numlines; i++)
{
list+=readPacket();
}
if(strcasecmp(readPacket(), "END") != 0)
{
QMessageBox *mb = new QMessageBox("Error!",
"bad packet",
QMessageBox::NoIcon,
QMessageBox::Ok,
QMessageBox::NoButton,
QMessageBox::NoButton);
mb->exec();
perror("LearnTab::GetRemotes");
return NULL;
}
::close(fd);
return list;
}
//this function was ripped for rc.c in xrc, it is available here: http://www.lirc.org/software.html
const char *LearnTab::readPacket()
{
static char buffer[PACKET_SIZE+1]="";
char *end;
static int ptr=0,end_len=0;
ssize_t ret;
timeout = 0;
if(ptr>0)
{
memmove(buffer,buffer+ptr,strlen(buffer+ptr)+1);
ptr=strlen(buffer);
end=strchr(buffer,'\n');
}
else
{
end=NULL;
}
alarm(TIMEOUT);
while(end==NULL)
{
if(PACKET_SIZE<=ptr)
{
fprintf(stderr,"bad packet\n");
ptr=0;
return(NULL);
}
ret=read(fd,buffer+ptr,PACKET_SIZE-ptr);
if(ret<=0 || timeout)
{
if(timeout)
{
fprintf(stderr,"timeout\n");
}
else
{
alarm(0);
}
ptr=0;
return(NULL);
}
buffer[ptr+ret]=0;
ptr=strlen(buffer);
end=strchr(buffer,'\n');
}
alarm(0);timeout=0;
end[0]=0;
ptr=strlen(buffer)+1;
//# ifdef DEBUG
// printf("buffer: -%s-\n",buffer);
//# endif
return(buffer);
}
diff --git a/noncore/tools/remote/remote.cpp b/noncore/tools/remote/remote.cpp
index 7972def..638629f 100644
--- a/noncore/tools/remote/remote.cpp
+++ b/noncore/tools/remote/remote.cpp
@@ -1,100 +1,106 @@
/*
Opie-Remote. emulates remote controlls on an iPaq (and maybe a Zaurus) in Opie.
Copyright (C) 2002 Thomas Stephens
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include "mainview.h"
+
+/* OPIE */
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/config.h>
+
+/* QT */
#include <qpushbutton.h>
#include <qtabwidget.h>
#include <qlayout.h>
#include <qmessagebox.h>
#include <qpaintdevice.h>
#include <qobject.h>
+
+/* STD */
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
-#include "mainview.h"
/*void reconnect(int &fd)
{
// struct sockaddr_un addr;
addr.sun_family=AF_UNIX;
strcpy(addr.sun_path,"/dev/lircd");
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if(connect(fd,(struct sockaddr *) &addr, sizeof(addr) ) == -1)
{
QMessageBox *mb = new QMessageBox("error",
"couldnt connect to socket",
QMessageBox::NoIcon,
QMessageBox::Ok,
QMessageBox::NoButton,
QMessageBox::NoButton);
mb->exec();
}
}
*/
int main( int argc, char **argv )
{
QPEApplication a( argc, argv );
MainView w;
int fd;
// struct sockaddr_un addr;
// char read_buffer[BUFFERSIZE+1];
// char write_buffer[] = "LIST\n";
// addr.sun_family=AF_UNIX;
// strcpy(addr.sun_path,"/dev/lircd");
// fd = socket(AF_UNIX, SOCK_STREAM, 0);
// printf("fd1: %d\n", fd);
/*
if(connect(fd,(struct sockaddr *) &addr, sizeof(addr) ) == -1)
{
QMessageBox *mb = new QMessageBox("error",
"couldnt connect to socket",
QMessageBox::NoIcon,
QMessageBox::Ok,
QMessageBox::NoButton,
QMessageBox::NoButton);
mb->exec();
}
*/
// printf("%d\n", write(fd, write_buffer, sizeof(write_buffer) ) );
// printf("%d\n", read(fd, read_buffer, BUFFERSIZE ) );
// QMessageBox *mbtest = new QMessageBox("lirc test",
// *new QString((const char *) read_buffer),
// QMessageBox::NoIcon,
// QMessageBox::Ok,
// QMessageBox::NoButton,
// QMessageBox::NoButton);
// mbtest->exec();
a.setMainWidget( &w );
w.setIRSocket(fd);
- w.showMaximized();
+ QPEApplication::showWidget( &w );
return a.exec();
}