summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/opietooth2/Opietooth.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/opietooth2/Opietooth.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/opietooth2/Opietooth.cpp46
1 files changed, 31 insertions, 15 deletions
diff --git a/noncore/settings/networksettings2/opietooth2/Opietooth.cpp b/noncore/settings/networksettings2/opietooth2/Opietooth.cpp
index 5a890da..b14cc2f 100644
--- a/noncore/settings/networksettings2/opietooth2/Opietooth.cpp
+++ b/noncore/settings/networksettings2/opietooth2/Opietooth.cpp
@@ -22,5 +22,7 @@ using namespace Opie::Ui;
#include <qprogressbar.h>
#include <qpushbutton.h>
+#include <qscrollbar.h>
#include <qtextstream.h>
+#include <qtextview.h>
#include <Opietooth.h>
@@ -121,21 +123,25 @@ OTSniffing::OTSniffing( QWidget * parent ) : OTSniffGUI( parent ) {
OT = OTGateway::getOTGateway();
HciDump = 0;
- Sys = new System();
}
OTSniffing::~OTSniffing() {
- printf( "CLOSE \n" );
- if ( HciDump ) {
- HciDump->process().kill();
- delete HciDump;
- }
- delete Sys;
+ SLOT_Trace( 0 );
}
-void OTSniffing::SLOT_Trace( bool ) {
+void OTSniffing::SLOT_Trace( bool Run ) {
+
+ if( ! Run ) {
+ if ( HciDump ) {
+ HciDump->process().kill();
+ delete HciDump;
+ }
+ HciDump = 0;
+ return;
+ }
+
HciDump = new MyProcess();
QStringList SL;
- SL << "hcidump";
+ SL << "/usr/sbin/hcidump";
switch( DataFormat_CB->currentItem() ) {
case 0 : // Hex
@@ -163,5 +169,9 @@ void OTSniffing::SLOT_Trace( bool ) {
SLOT( SLOT_ProcessExited(MyProcess*) ) );
- if( ! Sys->runAsRoot( SL, HciDump ) ) {
+ HciDump->process() << SL;
+
+ if( ! HciDump->process().start( OProcess::DontCare,
+ OProcess::AllOutput )
+ ) {
QMessageBox::warning(0,
tr("Run hcidump"),
@@ -176,7 +186,11 @@ void OTSniffing::SLOT_Trace( bool ) {
void OTSniffing::SLOT_Show( const QString & S ) {
printf( "%s\n", S.latin1() );
- Output_LB->insertItem( S );
- Output_LB->setCurrentItem( Output_LB->count()-1 );
- Output_LB->ensureCurrentVisible();
+ Output_TV->setText( Output_TV->text() + S + "\n" );
+
+ QScrollBar *scroll = Output_TV->verticalScrollBar();
+ scroll->setValue(scroll->maxValue());
+ //Output_LB->insertItem( S );
+ //Output_LB->setCurrentItem( Output_LB->count()-1 );
+ //Output_LB->ensureCurrentVisible();
}
@@ -229,10 +243,12 @@ void OTSniffing::SLOT_Load( void ) {
SLOT_ClearLog();
S = TS.read();
- Output_LB->insertStringList( QStringList::split( "\n", S ) );
+ // Output_LB->insertStringList( QStringList::split( "\n", S ) );
+ Output_TV->setText( S );
}
}
void OTSniffing::SLOT_ClearLog( void ) {
- Output_LB->clear();
+ // Output_LB->clear();
+ Output_TV->setText( "" );
}